//匿名函数自调用，
//匿名函数前面加； 有一个形参，两个实参，可以解决全局污染问题，通过赋值给window 对象外边使用
//第一个形参：解决作用域查找问题，压缩体积
//第二个形参：避免IE678出现undefined
; (function (window, undefined) {
    function init(el) {
        let els = document.querySelectorAll(el)//获取所有数据
        for (let i = 0; i < els.length; i++) {//遍历数据
            this[i] = els[i]//获取js标签对象 实力化添加对象和长度
            this.length = els.length
        }
        //let arr=[]
        //arr.push.apply(this,els)
    }
    let jQuery = function (el) {
        return new init(el)
    }

    jQuery.extend = function (object) {
        //object={  方法(){},...  }
        for (let key in object) {
            init.prototype[key] = object[key]
        }
    }

    init.prototype = {
        css(cssAttr, cssVal) {//this ===实力化对象
            for (let i = 0; i < this.length; i++) {
                this[i].style[cssAttr] = cssVal
            }
            return this
        },
        addClass(option) {
            for (let i = 0; i < this.length; i++) {
                this[i].className = option
            }
        },
        ajax(option) { },
        attr(option) { },

    }
    window.jQuery = window.$ = jQuery

})(window)


